package com.ce.source.analysis.proxy;

import java.lang.reflect.Proxy;

/**
 * @author ：前世小和尚（xiaopingzhang8@creditease.cn）
 * @Description ：
 * @ClassName ：DynamicProxy
 * @Company ：普信恒业科技发展（北京）有限公司
 * @date ：2018/4/15 19:16
 */
public class DynamicProxy {
    public static void main(String[] args) {
        OrderPayApi pay = new OrderPay();

        OrderProxyHandler handler = new OrderProxyHandler(pay);

        OrderPayApi api = (OrderPayApi) Proxy.newProxyInstance(pay.getClass().getClassLoader(), pay.getClass().getInterfaces(), handler);

        System.out.println("动态代理对象的类型" + api.getClass().getName());
        api.sayHi();
    }
}
